.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified by Michael Haardt <michael@moria.de>
.\" Modified Sun Jul 25 10:14:13 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified 15 April 1995 by Michael Chastain <mec@shell.portal.com>
.\"   Update calling parameters to Linux 1.2.4 values.
.\" Modified 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 3 May 1996 by Martin Schulze <joey@infodrom.north.de>
.\" Modified Wed Nov  6 04:05:28 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Sat Jan 29 01:08:23 2000 by aeb
.\"
.TH setup 2 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
setup \- setup devices and filesystems, mount root filesystem
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.P
.B [[deprecated]] int setup(void);
.fi
.SH DESCRIPTION
.BR setup ()
is called once from within
.IR linux/init/main.c .
It calls initialization functions for devices and filesystems
configured into the kernel and then mounts the root filesystem.
.P
No user process may call
.BR setup ().
Any user process, even a process with superuser permission,
will receive
.BR EPERM .
.SH RETURN VALUE
.BR setup ()
always returns \-1 for a user process.
.SH ERRORS
.TP
.B EPERM
Always, for a user process.
.SH STANDARDS
Linux.
.SH VERSIONS
Removed in Linux 2.1.121.
.P
The calling sequence varied: at some times
.BR setup ()
has had a single argument
.I "void\ *BIOS"
and at other times a single argument
.IR "int magic" .
